A conventional data processor using unified memory architecture is described in Japanese Patent Application Laid-Open 4-84192.
In this processor, a memory for buffering data to be transferred between a CPU and a main memory once is provided so as to prevent the main memory from being occupied by access by the CPU, and a display controller provided for controlling display on a display unit reserves a period for reading data from the main memory for display.
As an example of a conventional data processor using unified memory architecture, an apparatus which is structured so as to use a part of a memory as a Z buffer and a texture memory necessary for three-dimensional graphics in addition to a frame memory and to allow a rendering processor or a geometric processor for processing three-dimensional graphics to access it is also known.
Furthermore, a processor for processing graphics at high speed (Quoted Example 1) is described in "Three-dimensional CG Drawing LSI--300000 Polygons/Second Realized by Personal Computer--(Nikkei Electronics, No. 640, Jul. 17, 1995, pp 109-120)". This processor is provided with three kinds of memories, such as a texture memory, a frame buffer memory and a local memory, as dedicated processor memories. This architecture is advantageous in respect of improvement of the performance, though it is not suited to a compact and inexpensive apparatus, such as an individual portable device, because a plurality of memories are necessary.
On the other hand, an example in which graphic information is unified and the number of memories can be reduced compared with Quoted Example 1 is disclosed in Japanese Patent Application Laid-Open 5-257793 (Quoted Example 2). This graphic system has a CPU program, texture data, and a frame buffer which are unified in a main memory of a CPU.
According to each of the aforementioned processor systems, there is a problem in that access to the main memory by the CPU is forced to wait due to access to the main memory which is being executed by the display controller or the rendering processor, and so the processing performance of the whole processor is degraded. Furthermore, the period for which the access to the main memory by the CPU is forced to wait depends on the access executed by the display controller or the rendering processor, so that the period for which the access to the main memory by the CPU is forced to wait cannot be confirmed beforehand. As a result, in the systems, it is impossible to guarantee the degradation of the processing performance of the whole processor by less than a fixed limit.
Furthermore, in the aforementioned processor systems, the assumption has been made that the data processor has a memory system which is sufficiently quick so that the access capacity of the memory is several hundreds MB/s and the display data reading time can be reserved sufficiently. This assumption requires an expensive memory system and disturbs miniaturization and cost reduction.
Even in the constitution of Quoted Example 2, if the access capacity of the memory is reduced by use of an inexpensive memory system, adjustment with drawing other than display and CPU access is necessary so as to reserve the display data reading time necessary for moving images. The write access time from the CPU varies with the data amount, though the data amount for each time for high-speed graphics increases and the access time for each screen also increases.
As a result, in the memory unified type, display access is given priority. However, even if an access request for reading drawing data (hereinafter called display access) is issued from the graphic memory, when another access is being executed by the CPU or others, the access request is forced to wait until it ends and if the data of the display buffer becomes empty during the period of time, the moving image display screen is disturbed. Therefore, a sufficient display access time is reserved, and the data storage amount of the display buffer is increased, and the quality of moving images is maintained. However, in the conventional display access priority system, the access efficiency of the graphics memory reduces, so that the processing of high-speed graphics by the CPU becomes difficult.
Generally, the CPU has a built-in cache memory for transferring output data and the memory access timing varies with the cache system. For example, the write through system transfers only one word. On the other hand, the copy back system for transferring a plurality of words continuously can transfer drawing procedure information (hereinafter called a drawing command) together, so that the access time can be shortened. Nevertheless, in the write through system in which the access time is long, a sufficient display access time is reserved. Namely, the difference in the cache system is not taken into account, so that the access efficiency of the memory reduces and high speed graphics display executable by the copy back system is sacrificed.